iT邦幫忙

2025 iThome 鐵人賽

DAY 18
0
自我挑戰組

30 天全面認識 Python系列 第 18

Day 18:進階字串技巧

  • 分享至 

  • xImage
  •  

f-string —— 更聰明的輸出

當我們想在字串裡放變數時,f-string 是最方便的工具:

name = "Rickey"
score = 95
print(f"{name} 的分數是 {score}")  # Rickey 的分數是 95

f-string 也能做格式化:

pi = 3.14159
print(f"圓周率約為 {pi:.2f}")  # 圓周率約為 3.14

處理編碼問題

Python 預設字串使用 Unicode,可以處理中文沒問題。但如果讀檔案或處理網頁資料,最好指定編碼:

with open("data.txt", "r", encoding="utf-8") as f:
    content = f.read()
print(content)

如果看到亂碼,通常是檔案本身不是 UTF-8,這時要先確認來源再轉換。

初探正則表達式(Regex)

有時候我們要在字串中找「模式」而不是精確文字,比如找 email、電話號碼,這時候就要用正則表達式:

import re
text = "聯絡:abc@mail.com 或 0912-345-678"
emails = re.findall(r"\w+@\w+\.\w+", text)
phones = re.findall(r"\d{4}-\d{3}-\d{3}", text)

print(emails)  # ['abc@mail.com']
print(phones)  # ['0912-345-678']

正則表達式雖然需要額外學習,但只要掌握幾個常用模式,就能大幅提升文字處理的效率。

今日小挑戰

寫一個程式,讀取一段文字並完成以下:

  • 使用 f-string 輸出「這段文字有 X 個字元」
  • 把文字轉成小寫並移除標點符號
  • 嘗試用 re.findall() 找出裡面所有的數字
    ---by Ricky

上一篇
Day 17:字串的基礎操作
下一篇
Day 19:檔案操作與基礎 I/O
系列文
30 天全面認識 Python28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言